//JS
layui.use(['layer', 'table', 'form'], function () {
    var form = layui.form,
        layer = layui.layer,
        table = layui.table,
        upload = layui.upload;

    //绑定新增按钮
    $('#account-add-btn').click(function () {
        layer.open({
            type: 1
            , offset: 10
            , area: ['620px', '800px']
            , success: function (layerObj) {
                $(".layui-layer-shade").appendTo(layerObj.parent());
            }
            , content: $("#account-add-box")
            , end: function () {
                $('#account-add-box').css('display', 'none');
            }
        });
    });
    //绑定批量导入按钮
    $('#account-tadds-btn').click(function () {
        layer.open({
            type: 1
            , offset: 100
            , success: function (layerObj) {
                $(".layui-layer-shade").appendTo(layerObj.parent());
            }
            , content: $("#account-tadds-box")
            , end: function () {
                $('#account-tadds-box').css('display', 'none');
            }
        });
    });


    //批量导入老师
    upload.render({
        elem: '#account-tfile-choose'
        , url: '/importInfo'
        , auto: false
        , field: 'file'
        , data: { //上传的额外参数
            fileName: 'teacher.xls',
            type: 2,
        }
        , size: 0 // 单位 KB 0（即不限制）
        , exts: "xls|xlsx"
        /*, accept: 'file'*/
        // ,acceptMime:'' 规定打开文件选择框时，筛选出的文件类型
        , before: function (obj) {
            obj.preview(function (index, file, result) {
                //obj.resetFile(index, file, '重新命名的文件.jpg'); //重命名文件名，layui 2.3.0 开始新增
                let fileName = 'teacher.xls';
                obj.resetFile(index, file, fileName);
            });
        }
        , bindAction: '#account-tfile-upload'
        , done: function (res, index, upload) {
            layer.msg(res.msg);
        }
        , error: function (res) {
            //请求异常回调
            layer.msg('文件上传失败');
        }
    });


    //批量导入学生
    upload.render({
        elem: '#account-sfile-choose'
        , url: '/importInfo'
        , auto: false
        , field: 'file'
        , data: { //上传的额外参数
            fileName: 'student.xls',
            type: 1,
        }
        , size: 0 // 单位 KB 0（即不限制）
        , exts: "xls|xlsx"
        /*, accept: 'file'*/
        // ,acceptMime:'' 规定打开文件选择框时，筛选出的文件类型
        , before: function (obj) {
            obj.preview(function (index, file, result) {
                //obj.resetFile(index, file, '重新命名的文件.jpg'); //重命名文件名，layui 2.3.0 开始新增
                let fileName = 'student.xls';
                obj.resetFile(index, file, fileName);
            });
        }
        , bindAction: '#account-sfile-upload'
        , done: function (res, index, upload) {
            layer.closeAll();


        }
        , error: function (res) {
            //请求异常回调
            layer.msg('文件上传失败');
        }
    });











    <!-- 动态表格-教师 -->
    table.render({
        elem: '#account-teacher-table',
        toolbar: '#accountToolBar',
        page: true,
        height: 600,
        url: "/getAllTeacher",
        cols: [
            [ //标题栏
                {field: 'tNO', title: '工号', sort: true, width: 120, align: 'center'},
                {field: 'password', title: '密码', width: 90, align: 'center'},
                {field: 'name', title: '真实姓名', width: 120, align: 'center'},
                {field: 'sex', title: '性别', width: 90, align: 'center'},
                {field: 'collegeId', title: '学院编号', align: 'center'},
                {field: 'department', title: '部门', width: 110, align: 'center'},
                {field: 'post', title: '职位', width: 110, align: 'center'},
                {field: 'role', title: '角色名', width: 90, align: 'center'},
                {field: 'tel', title: '联系方式', width: 90, align: 'center'},
                {field: 'email', title: '邮箱', align: 'center'},
                {field: 'status', title: '状态', width: 95, templet: '#switchStatus', unresize: true, align: 'center'},
                {title: '操作', width: 220, toolbar: '#accountBtn', align: 'center'}
            ]
        ]
    });
    //监听行工具事件
    table.on('tool(account-teacher-table)', function (obj) {//查看教师信息
        let data = obj.data;
        if (obj.event === 'query') {
            console.log(data);
            layer.open({
                title: '详情页面'
                , offset: 100
                , skin: 'layui-layer-rim'
                , area: ['740px', '400px']
                , type: 1
                , shadeClose: true
                , success: function (layerObj) {
                    $(".layui-layer-shade").appendTo(layerObj.parent());
                    $("#Tshow-TNO").html(data.tNO);
                    $("#Tshow-name").html(data.name);
                    $("#Tshow-sex").html(data.sex);
                    $("#Tshow-password").html(data.password);
                    $("#Tshow-collegeId").html(data.collegeId);
                    $("#Tshow-department").html(data.department);
                    $("#Tshow-post").html(data.post);
                    $("#Tshow-role").html(data.role);
                    $("#Tshow-tel").html(data.tel);
                    $("#Tshow-email").html(data.email);
                    // $("#Tshow-status").html(data.status);
                }
                , content: $('#account-showTeacher-box')
                , end: function () {
                    $('#account-showTeacher-box').css('display', 'none');
                }
            });
        } else if (obj.event === 'edit') {//编辑教师信息
            layer.open({
                title: '编辑页面'
                , offset: 0
                , type: 1
                , shadeClose: true
                , success: function (layerObj) {
                    $(".layui-layer-shade").appendTo(layerObj.parent());
                    $("#Tedit_tNO").val(data.tNO);
                    $("#Tedit_name").val(data.name);
                    $("#Tedit_password").val(data.password);
                    $("#Tedit_department").val(data.department);
                    $("#Tedit_post").val(data.post);
                    $("#Tedit_role").val(data.role);
                    $("#Tedit_tel").val(data.tel);
                    $("#Tedit_email").val(data.email);
                    $("input[name=Tedit_sex][value='男']").prop("checked", data.sex == '男' ? true : false);
                    $("input[name=Tedit_sex][value='女']").prop("checked", data.sex == '女' ? true : false);
                    form.render(); //更新全部
                    $("#Tedit_collegeId").each(function () {
                        let collegeId = data.collegeId;
                        // this代表的是<option></option>，对option再进行遍历
                        $(this).children("option").each(function () {
                            // 判断需要对那个选项进行回显
                            if (this.value == collegeId) {
                                console.log($(this).text());
                                // 进行回显
                                $(this).prop("selected", "selected");
                            }
                        });
                    });
                    form.render('select');
                }
                , content: $('#account-editTeacher-box')
                , end: function () {
                    $('#account-editTeacher-box').css('display', 'none');
                }
            });
        } else if (obj.event === 'del') {//删除教师信息
            layer.confirm('确认删除后，该用户所有数据及相关操作将会被清除，请谨慎操作！', function (layerObj) {
                let tNO = data.tNO
                let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
                $.ajax({
                    url: "/teacherDelete"
                    , type: 'post'
                    , data: {
                        tNO: tNO
                    }
                    , dataType: 'json'
                    , success: function (data) {  //调用接口成功
                        if (data === true || data === 'true') {
                            layer.close(loadPage);
                            layer.closeAll('page');
                            layui.layer.msg('删除成功！', {offset: '300px', time: 2500, anim: 0});
                            table.reload('account-teacher-table', {});
                        } else {
                            layui.layer.close(loadPage);
                            layui.layer.alert('修改失败！');
                        }
                    },
                    error: function () {  //接口错误
                        layui.layer.close(loadPage);
                        layui.layer.alert('服务器出错啦,请稍后再试！');
                    }
                });
            });
            return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
        }
    });
    <!-- 动态表格-学生 -->
    table.render({
        elem: '#account-student-table',
        toolbar: '#accountToolBar',
        page: true,
        height: 500,
        url: "/getAllStudent",
        cols: [
            [ //标题栏
                {field: 'sNO', title: '学号', sort: true, width: 120, align: 'center'},
                {field: 'password', title: '密码', width: 90, align: 'center'},
                {field: 'name', title: '真实姓名', width: 120, align: 'center'},
                {field: 'sex', title: '性别', width: 90, align: 'center'},
                {field: 'collName', title: '学院', align: 'center'},
                {field: 'majorName', title: '专业', width: 110, align: 'center'},
                {field: 'classes', title: '班级', width: 110, align: 'center'},
                {field: 'role', title: '角色名', width: 90, align: 'center'},
                {field: 'tel', title: '联系方式', width: 90, align: 'center'},
                {field: 'email', title: '邮箱', align: 'center'},
                {field: 'status', title: '状态', width: 95, templet: '#switchStatus', unresize: true, align: 'center'},
                {title: '操作', width: 220, toolbar: '#accountBtn', align: 'center'}
            ]
        ]
    });
    //监听行工具事件
    table.on('tool(account-student-table)', function (obj) {
        let data = obj.data;
        if (obj.event === 'query') {//查看学生信息
            console.log(data);
            layer.open({
                title: '详情页面'
                , offset: 30
                , skin: 'layui-layer-rim'
                , area: ['740px', '400px']
                , type: 1
                , shadeClose: true
                , success: function (layerObj) {
                    $(".layui-layer-shade").appendTo(layerObj.parent());
                    $("#Sshow-SNO").html(data.sNO);
                    $("#Sshow-name").html(data.name);
                    $("#Sshow-sex").html(data.sex);
                    $("#Sshow-password").html(data.password);
                    $("#Sshow-collName").html(data.collName);
                    $("#Sshow-majorName").html(data.majorName);
                    $("#Sshow-classes").html(data.classes);
                    $("#Sshow-role").html(data.role);
                    $("#Sshow-tel").html(data.tel);
                    $("#Sshow-email").html(data.email);
                    // $("#Sshow-status").html(data.status);
                }
                , content: $('#account-showStudent-box')
                , end: function () {
                    $('#account-showStudent-box').css('display', 'none');
                }
            });
        } else if (obj.event === 'edit') {//编辑学生信息
            layer.open({
                title: '编辑页面'
                , offset: 10
                , type: 1
                , shadeClose: true
                , success: function (layerObj) {
                    $(".layui-layer-shade").appendTo(layerObj.parent());
                    $("#Sedit_sNO").val(data.sNO);
                    $("#Sedit_name").val(data.name);
                    $("#Sedit_password").val(data.password);
                    $("#Sedit_majorName").val(data.majorName);
                    $("#Sedit_classes").val(data.classes);
                    $("#Sedit_role").val(data.role);
                    $("#Sedit_tel").val(data.tel);
                    $("#Sedit_email").val(data.email);
                    $("input[name=Sedit_sex][value='男']").prop("checked", data.sex == '男' ? true : false);
                    $("input[name=Sedit_sex][value='女']").prop("checked", data.sex == '女' ? true : false);
                    form.render(); //更新全部
                    $("#Sedit_collName").each(function () {
                        let collName = data.collName;
                        // this代表的是<option></option>，对option再进行遍历
                        $(this).children("option").each(function () {
                            // 判断需要对那个选项进行回显
                            if (this.value == collName) {
                                console.log($(this).text());
                                // 进行回显
                                $(this).prop("selected", "selected");
                            }
                        });
                    });
                    form.render('select');
                }
                , content: $('#account-editStudent-box')
                , end: function () {
                    $('#account-editStudent-box').css('display', 'none');
                }
            });
        } else if (obj.event === 'del') {//删除学生信息
            layer.confirm('确认删除后，该用户所有数据及相关操作将会被清除，请谨慎操作！', function (layerObj) {
                let sNO = data.sNO
                let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
                $.ajax({
                    url: "/studentDelete"
                    , type: 'post'
                    , data: {
                        sNO: sNO
                    }
                    , dataType: 'json'
                    , success: function (data) {  //调用接口成功
                        if (data === true || data === 'true') {
                            layer.close(loadPage);
                            layer.closeAll('page');
                            layui.layer.msg('删除成功！', {offset: '300px', time: 2500, anim: 0});
                            table.reload('account-student-table', {});
                        } else {
                            layui.layer.close(loadPage);
                            layui.layer.alert('修改失败！');
                        }
                    },
                    error: function () {  //接口错误
                        layui.layer.close(loadPage);
                        layui.layer.alert('服务器出错啦,请稍后再试！');
                    }
                });
            });
            return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
        }
    });


    //添加教师信息
    form.on('submit(tAdd)', function (data) {
        layer.confirm('确认提交？', function () {
            // console.log(data.field); //当前容器的全部表单字段，名值对形式：{name: value}
            let taskData = JSON.stringify(data.field);
            console.log(taskData)
            console.log(typeof taskData)

            let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
            $.ajax({
                url: "/teacherAdd"
                , type: 'post'
                , data: {
                    taskData: taskData
                }
                , dataType: 'json'
                , success: function (data) {  //调用接口成功
                    if (data === true || data === 'true') {
                        layer.close(loadPage);
                        layer.closeAll('page');
                        layui.layer.msg('添加成功！', {offset: '300px', time: 2500, anim: 0});
                        table.reload('account-teacher-table', {});

                    } else {
                        layui.layer.close(loadPage);
                        layui.layer.alert('添加失败！');
                    }
                },
                error: function () {  //接口错误
                    layui.layer.close(loadPage);
                    layui.layer.alert('服务器出错啦,请稍后再试！');
                }
            });
        });
        return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });
    //添加学生信息
    form.on('submit(sAdd)', function (data) {
        layer.confirm('确认提交？', function () {
            // console.log(data.field); //当前容器的全部表单字段，名值对形式：{name: value}
            let taskData = JSON.stringify(data.field);
            console.log(taskData)
            console.log(typeof taskData)

            let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
            $.ajax({
                url: "/studentAdd"
                , type: 'post'
                , data: {
                    taskData: taskData
                }
                , dataType: 'json'
                , success: function (data) {  //调用接口成功
                    if (data === true || data === 'true') {
                        layer.close(loadPage);
                        layer.closeAll('page');
                        layui.layer.msg('添加成功！', {offset: '300px', time: 2500, anim: 0});
                        table.reload('account-student-table', {});

                    } else {
                        layui.layer.close(loadPage);
                        layui.layer.alert('添加失败！');
                    }
                },
                error: function () {  //接口错误
                    layui.layer.close(loadPage);
                    layui.layer.alert('服务器出错啦,请稍后再试！');
                }
            });
        });
        return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });


    //修改教师信息
    form.on('submit(tEdit)', function (data) {
        layer.confirm('确认提交？', function () {
            // console.log(data.field); //当前容器的全部表单字段，名值对形式：{name: value}
            let tno = data.field.Tedit_tNO
            let taskData = JSON.stringify(data.field);
            console.log(taskData)
            console.log(typeof taskData)

            let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
            $.ajax({
                url: "/teacherUpdate"
                , type: 'post'
                , data: {
                    tno: tno,
                    taskData: taskData
                }
                , dataType: 'json'
                , success: function (data) {  //调用接口成功
                    if (data === true || data === 'true') {
                        layer.close(loadPage);
                        layer.closeAll('page');
                        layui.layer.msg('修改成功！', {offset: '300px', time: 2500, anim: 0});
                        table.reload('account-teacher-table', {});

                    } else {
                        layui.layer.close(loadPage);
                        layui.layer.alert('修改失败！');
                    }
                },
                error: function () {  //接口错误
                    layui.layer.close(loadPage);
                    layui.layer.alert('服务器出错啦,请稍后再试！');
                }
            });
        });
        return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });
    //修改学生信息
    form.on('submit(sEdit)', function (data) {
        layer.confirm('确认提交？', function () {
            // console.log(data.field); //当前容器的全部表单字段，名值对形式：{name: value}
            let sno = data.field.Sedit_sNO
            let taskData = JSON.stringify(data.field);
            console.log(sno)
            console.log(taskData)
            console.log(typeof taskData)

            let loadPage = layui.layer.load(0, {shade: [0.5, '#fff']});
            $.ajax({
                url: "/studentUpdate"
                , type: 'post'
                , data: {
                    sno: sno,
                    taskData: taskData
                }
                , dataType: 'json'
                , success: function (data) {  //调用接口成功
                    if (data === true || data === 'true') {
                        layer.close(loadPage);
                        layer.closeAll('page');
                        layui.layer.msg('修改成功！', {offset: '300px', time: 2500, anim: 0});
                        table.reload('account-student-table', {});

                    } else {
                        layui.layer.close(loadPage);
                        layui.layer.alert('修改失败！');
                    }
                },
                error: function () {  //接口错误
                    layui.layer.close(loadPage);
                    layui.layer.alert('服务器出错啦,请稍后再试！');
                }
            });
        });
        return false;//阻止表单跳转。如果需要表单跳转，去掉这段即可。
    });

    /* 自定义验证规则 */
    form.verify({
        tNO: function (value) {
            if (value == "") {
                return '工号不能为空';
            }
        }
        , sNO: function (value) {
            if (value == "") {
                return '学号不能为空';
            }
        }
        , password: function (value) {
            if (value == "") {
                return '密码不能为空';
            }
        }
        , name: function (value) {
            if (value == "") {
                return '姓名不能为空';
            }
        }
        , college: function (value) {
            if (value == "") {
                return '学院不能为空';
            }
        }
        , department: function (value) {
            if (value == "") {
                return '部门不可为空';
            }
        }
        , post: function (value) {
            if (value == "") {
                return '职位不可为空';
            }
        }
        , major: function (value) {
            if (value == "") {
                return '专业不可为空';
            }
        }
        , classes: function (value) {
            if (value == "") {
                return '班级不可为空';
            }
        }
        , tel: function (value) {
            if (value == "") {
                return '联系方式不可为空';
            }
        }
    });


});